package org.jeecg.modules.scm.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.EnableDict;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Description: scm_receivables_transfer_application
 * @Author: jeecg-boot
 * @Date: 2021-11-09
 * @Version: V1.0
 */
@Data
@TableName("scm_receivables_transfer_application")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "应收账款转让申请信息对象", description = "应收账款转让申请信息对象")
public class ScmReceivablesTransferApplication implements Serializable, EnableDict {
    private static final long serialVersionUID = 1L;

    /**
     * 申请号
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "申请号")
    private String id;
    /**
     * 合同编号
     */
    @Excel(name = "合同编号", width = 15)
    @ApiModelProperty(value = "合同编号")
    private String contractNo;
    /**
     * 合同名称
     */
    @Excel(name = "合同名称", width = 15)
    @ApiModelProperty(value = "合同名称")
    private String contractName;
    /**
     * 持有人客户号
     */
    @Excel(name = "持有人客户号", width = 15)
    @ApiModelProperty(value = "持有人客户号")
    @Dict(dictTable = "scm_cus_info", dicCode = "cus_no", dicText = "cus_name")
    private Integer ownerCusNo;
    /**
     * 受让方客户号
     */
    @Excel(name = "受让方客户号", width = 15)
    @ApiModelProperty(value = "受让方客户号")
    @Dict(dictTable = "scm_cus_info", dicCode = "cus_no", dicText = "cus_name")
    private Integer transfereeCusNo;
    /**
     * 受让方账号
     */
    @Excel(name = "受让方账号", width = 15)
    @ApiModelProperty(value = "受让方账号")
    private String transfereeAccountNumber;
    /**
     * 受让方账号名称
     */
    @Excel(name = "受让方账号名称", width = 15)
    @ApiModelProperty(value = "受让方账号名称")
    private String transfereeAccountName;
    /**
     * 受让方账号开户行行号
     */
    @Excel(name = "受让方账号开户行行号", width = 15)
    @ApiModelProperty(value = "受让方账号开户行行号")
    private String transfereeAccountBanke;
    /**
     * 本次转让应收账款金额（元）
     */
    @Excel(name = "本次转让应收账款金额（元）", width = 15)
    @ApiModelProperty(value = "本次转让应收账款金额（元）")
    private BigDecimal transferAmount;
    /**
     * 转让日期
     */
    @Excel(name = "转让日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "转让日期")
    private Date transferTime;
    /**
     * 申请状态
     */
    @Excel(name = "申请状态", width = 15)
    @ApiModelProperty(value = "申请状态")
    @Dict(dicCode = "tansfer_status")
    private Integer status;
    /**
     * 附件
     */
    @Excel(name = "附件", width = 15)
    @ApiModelProperty(value = "附件")
    private String accessory;
    /**
     * 申请日期
     */
    @Excel(name = "申请日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "申请日期")
    private Date applyTime;
    /**
     * 建立用户
     */
    @ApiModelProperty(value = "建立用户")
    private String createBy;
    /**
     * 最后修改日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "最后修改日期")
    private Date updateTime;
    /**
     * 最后修改用户
     */
    @ApiModelProperty(value = "最后修改用户")
    private String updateBy;
}
